package com.java.observer;

import java.util.ArrayList;
import java.util.List;

public class TeacherSubject implements Subject {



    /**
     * 记录观察者的集合
     */
    private List<Observer> observers=new ArrayList<>();


    /**
     * 通知的消息
     */
    private String info;


    @Override
    public void addObserver(Observer obj) {
        observers.add(obj);
    }

    @Override
    public void deleteObserver(Observer obj) {
        observers.remove(obj);
    }

    @Override
    public void notifyObserver() {
        //通知所有的观察者
        observers.parallelStream().forEach(observer -> {
            observer.update(info);
        });
    }


    /**
     * 业务方法
     * 布置作业
     * @param info
     */
    public void setHomework(String info){
        this.info=info;
        System.out.println("今天的作业是"+info);
        this.notifyObserver();
    }
}
